// 将数组实例模拟栈操作

// 采用 数组字面量 定义数组
const stack = [];
console.log( stack.length , stack );

// Array.prototype.push(...items) 用于向数组末尾追加元素
stack.push( '孙悟空' ); // 可以当作在栈顶添加元素
console.log( stack.length , stack );

stack.push( '猪悟能' , '沙悟净' );
console.log( stack.length , stack );

// 为 Array原型 添加函数属性
Array.prototype.peek = function(){
    if( this.length > 0 ) {
        return this[ this.length - 1 ];
    }
}

// 检查栈顶元素
let top = stack.peek(); // 在标准中Array原型上并没有 peek 方法
console.log( top );
console.log( stack.length , stack );

// 弹出栈顶元素
top = stack.pop();
console.log( top );
console.log( stack.length , stack );

// 总结:
// Array.prototype.push(...items) 将一个或多个元素添加到数组的末尾，并返回该数组的新长度
// Array.prototype.pop() 从数组中删除最后一个元素，并返回该元素的值。此方法更改数组的长度